#!/bin/bash

#    / **  
#    * 文件名：安装配置ranger
#    * 版权： Copyright 谢振斌  All Rights Reserved.  
#    * 修改内容：新增  
#    * 修改人： 谢振斌  
#    * 修改时间：2021-3-24 
#    */  

# 判断文件夹是否存在 1存在  0不存在  
function judgeFolderExist()  
{  
    echo "判断文件夹是否存在"  
    # 第一个参数为 $1 为 文件夹路径  
    local _folderPath=$1  
    echo ${_folderPath}  
    if [ ! -d "${_folderPath}" ] ; then  
       echo "文件夹不存在"  
       return 0  
    else  
       echo "文件夹存在"  
       return 1  
    fi  
}  

# 源码安装使用ranger
function installRanger()
{
    # 注意：需要尽量使用python3.6+ 
    #git clone https://github.com/ranger/ranger.git
    #git clone https://hub.fastgit.org/ranger/ranger.git
    #sudo mv ranger /usr/local/
    #sudo ln -s /usr/local/ranger/ranger.py  /usr/bin/ranger
    git clone https://hub.fastgit.org/ranger/ranger.git 
    sudo mv ranger /opt/
    sudo ln -s /opt/ranger/ranger.py  /usr/bin/ranger

    #或者
    # pip install ranger-fm
    pip3 install ranger-fm

}

#    / **  
#    *〈流程控制〉  
#    *〈该脚本的主函数〉  
#    * @param [无]  
#    * @return [无]  
#    * @exception/throws [无]  
#    * @deprecated  
#    */  
function processControlMain()  
{  
    # 打印当前系统时间  
    echo "Start..."  
    date  

    # 此处是你的代码  
    # ...  
    # fun1

    # 安装与初始化
    sudo pacman -S ranger     # ranger 的主程序
    # ranger默认情况下不会生成配置文件，需要手动生成（拷贝）：
    # ranger --copy-config=all
    #>这个时候ranger就会生成配置文件目录~/.config/ranger，下面主要有这样几个文件：
    #   rc.conf     - 选项设置和快捷键
    #   commands.py - 能通过 : 执行的命令
    #   rifle.conf  - 指定不同类型的文件的默认打开程序。
    #   scope.sh    - 用于指定预览程序的文件

    # 预览预览依赖
    # 首先需要下载能够将对应格式的文件转化为txt的程序：
    sudo pacman -S catdoc     # doc预览
    sudo pacman -S docx2txt   # docx预览
    sudo pacman -S xlsx2csv   # xlsx预览

    sudo pacman -S caca-utils # img2txt 图片
    sudo pacman -S highlight  # 代码高亮
    sudo pacman -S atool　    # 存档预览
    sudo pacman -S w3m        # html页面预览
    sudo pacman -S poppler    # pdf预览
    sudo pacman -S mediainfo  # 多媒体文件预览

	local _retflag1=0 
 	judgeFolderExist ${HOME}"/.config/ranger"
    local _retflag1=$?  
	# 安装oh-my-zsh
	if [[ ${_retflag1} == 1 ]]; then
		## 存在文件夹
		echo "[Debug] 存在文件夹"
	else
		## 不存在文件夹
		echo "[Debug] 不存在文件夹"

        # ranger默认情况下不会生成配置文件，需要手动生成（拷贝）：
        ranger --copy-config=all

		# 回到脚本原来目录，执行另一个脚本
		#cd $1
		#/bin/bash ./zshCustomCommand.sh
	fi


    # 打印当前系统时间  
    date  
    echo "The End."  
}  

# 执行入口 
# 进入脚本目录位置
cd `dirname $0`
# 获取当前脚本目录位置
shellfilepath=`pwd`'/'$0
# 打印脚本目录地址
echo "[INFO]: 脚本地址 "${shellfilepath}

if true  
# if false  
then  
    echo "[Debug] true"
    # 开始执行  从标准输入中读取并同时写入到标准输出和指定的文件上 
    ## 拼接日志文件地址
    #logfilepath=`pwd`'/'$0'.log'
    logfilepath=`pwd`'/'$0'-'$(date +%Y-%m-%d-%H_%M_%S)'.log'
    ## 打印日志文件地址
    echo "[INFO]: 日志地址" ${logfilepath}
    processControlMain ${shellfilepath} | tee -a ${logfilepath}
else  
    echo "[Debug] false"  
    ## 函数单元测试  
    #  
fi  

# 脚本结束  
